package com.cloudbroker.bcs.csvc.uf30.facade.service;

import static com.cloudbroker.bcs.csvc.uf30.api.constants.UF30T2FunctionIds.LS_CIFARGOUT_CIF_ACCOUNT_OPEN_AND_BIND;
import static com.cloudbroker.bcs.csvc.uf30.api.constants.UF30T2FunctionIds.LS_CIFOUT_CIFACCOUNT_BIND;
import static com.cloudbroker.bcs.csvc.uf30.api.constants.UF30T2FunctionIds.LS_CIFOUT_CIF_CIFID_QRY;
import static com.cloudbroker.bcs.csvc.uf30.api.constants.UF30T2FunctionIds.LS_CIFOUT_CIF_MOBILE_MOD;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.cloudbroker.bcs.csvc.uf30.api.service.CifService;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.AccountBindForm;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.AccountOpenAndBindForm;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.AccountQryForm;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.MobileModForm;
import com.cloudbroker.bcs.csvc.uf30.api.vo.response.CifBackVo;
import com.cloudbroker.bcs.csvc.uf30.api.vo.response.base.UF30BackVo;

/**
 * Created by xuyn15828 on 2016/3/21.
 */
@Service
public class CifServiceFacade implements CifService {
    @Resource
    private UF30T2RemoteService service;

    @Override
    public CifBackVo cifAccountBind(AccountBindForm param) {
        return service.callT2(LS_CIFOUT_CIFACCOUNT_BIND , param , CifBackVo.class);
    }

    @Override
    public CifBackVo cifAccountQry(AccountQryForm param) {
        return service.callT2(LS_CIFOUT_CIF_CIFID_QRY , param , CifBackVo.class);
    }

    @Override
    public CifBackVo cifAccountOpenAndBind(AccountOpenAndBindForm param) {
        return service.callT2(LS_CIFARGOUT_CIF_ACCOUNT_OPEN_AND_BIND , param , CifBackVo.class);
    }

    @Override
    public UF30BackVo cifMobileMod(MobileModForm param) {
        return service.callT2(LS_CIFOUT_CIF_MOBILE_MOD , param , UF30BackVo.class);
    }
}
